package com.lw.sbdemo2.mapper;

import com.lw.sbdemo2.common.base.BaseMapper;
import com.lw.sbdemo2.entity.TkUserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * <p>标题: 用户信息表服务 - 数据交互层</p>
 * <p>描述: </p>
 * <p>版权: Copyright (c) 2019</p>
 * <p>公司: 山人行工作室</p>
 *
 * @version: 1.0
 * @author: LinWang
 * @date 2019-4-14
 */
@Mapper
public interface TkUserInfoMapper extends BaseMapper<TkUserInfo> {

	/**
     * 分页获取用户信息表列表
     *
     * @param query 搜索关键词
	 * @param tkUserInfo 查询实体
     * @return 用户列表
     */
    List<TkUserInfo> findListPage(@Param("query") String query, @Param("model") TkUserInfo tkUserInfo);

	/**
	 * 班级下的学生列表
	 *
	 * @param tkUserInfo 查询实体
	 * @return 用户列表
	 */
	List<TkUserInfo> findClassStudent(TkUserInfo tkUserInfo);

	/**
	 * 根据微信ID获取用户信息
	 */
	@Select("SELECT * FROM tk_user_info t WHERE t.OPEN_ID = #{openId}")
	TkUserInfo getUserByOpenId(@Param("openId") String openId);

	/**
	 * 更新老师信息
	 */
	@Update("update tk_user_info t set t.TEACHER_ID = '' where t.USER_ID =  #{userId}")
	void updateTea(@Param("userId") String userId);

	@Update("update tk_user_info t set t.SPELL_CODE = #{spellCode} where t.USER_ID =  #{userId}")
	void updateSpell(@Param("userId") String userId, @Param("spellCode") String spellCode);
}
